home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / C64 / T-TPUG Old Monthly Disks / (c)t4.d64 / dbase.c (.txt) < prev    next >
Commodore BASIC  |  2007-02-04  |  11KB  |  455 lines

  1. 10 REM THE DEVELOPING DATA BASE
  2. 20 REM   COPYRIGHT 1981 MARK PELCZARSKI
  3. 21 REM    SEPT 1982 CREATIVE COMPUTING
  4. 22 REM ENHANCEMENTS BY ROBERT STEINBERG
  5. 23 REM    FEB  1983 CREATIVE COMPUTING
  6. 24 REM ADAPTED TO THE C64 BY BRIAN SCHOTT
  7. 25 REM 1041 NORTH HILLS DRIVE, DECATUR, GEORGIA, 30033
  8. 26 REM APRIL 1983
  9. 30 REM ** STRING THING (UNIVERSAL) **
  10. 31 REM **     JIM BUTTERFIELD      **
  11. 32 REM STRING MUST BE FIRST VARIABLE
  12. 33 V$="ABCDEFGHIJKLMNOPQ"
  13. 34 V$=V$+V$+V$+V$+V$
  14. 35 V$=V$+V$+V$
  15. 36 REM ABOVE SETS STRING FOR MAX (255)
  16. 37 DATA 160,2,177,45,153,137,0,200,192,6
  17. 38 DATA 208,246,32,198,255
  18. 39 DATA 32,228,255,201,13,240,15,164,142,145
  19. 40 DATA 140,200,132,142,196,139,240,4,165,144,240,234,76,204,255
  20. 41 FORJ=896TO935:READX:POKEJ,X:T=T+X:NEXTJ
  21. 42 IFT<>5957THENSTOP
  22. 43 REM          BUTTERFIELD'S ROUTINE
  23. 44 REM HAS BEEN ADJUSTED TO CHANGE THE
  24. 45 REM FILE NUMBER EXTERNALLY WITH A
  25. 46 REM POKE781,'FILE"' COMMAND.  IT HAS
  26. 47 [143] BEEN IMPLEMENTED ON LINES 5460
  27. 48 [143] AND 10150.
  28. 49 [143] ********************************
  29. 50 [143] 1041 NORTH HILLS DRIVE
  30. 60 [143] DECATUR,GA 30033
  31. 65 [143] MARCH 1983
  32. 70 FD[178]0:FX[178]5:CN[178]2:FP[178]1
  33. 72 [153]"LOAD**********************"
  34. 74 [153]"  INSERT DATA SHEET"
  35. 76 [153]"*********************"
  36. 78 [153]"    START PRESS 'S'"
  37. 80 [161]P$:[139]P$[179][177]"S"[167]80
  38. 82 [143] CREATE MEANS TO PAD FIELDS WITH SPACES
  39. 84 X$[178]" "
  40. 86 [129]I[178]1[164]6:X$[178]X$[170]X$
  41. 88 [130]I
  42. 90 X$[178]X$[170][200](X$,126)
  43. 105 [134]C$(7),C1%(7),C2%(7),F$(5),C3$(7):CH[178]0
  44. 110 [153]"LOAD":[153]"(L) LOAD A PREVIOUSLY SAVED DATA SET?"
  45. 120 [153]"(I) INITIALIZE A NEW DATA SET?";
  46. 130 [141]11000:[153]A$
  47. 140 [139]A$[178]"L"[167][141]12000:[159]15,8,15,"I0":[141]1000:[137]200
  48. 150 [139]A$[178]"I"[167][141]1500:[137]200
  49. 160 [137]130
  50. 200 [153]"LOAD":[153]"(S) SAVE CURRENT DATA"
  51. 220 [153]"(P) PRINT DATA"
  52. 230 [153]"(A) ADD DATA"
  53. 240 [153]"(C) CHANGE A RECORD"
  54. 250 [153]"(D) DELETE A RECORD"
  55. 260 [153]"(T) SORT"
  56. 270 [143]***PRINT"(F) FILENAMES"
  57. 280 [143]***PRINT"(N) NEW DATA FILE"
  58. 290 [153]"(Q) QUIT"
  59. 295 [153]:[153]NI[170]1;" RECORDS, ROOM FOR ";MX[171]NI[171]1;" MORE"
  60. 300 [141]11000:[153]A$:[153]
  61. 320 [139]A$[178]"S"[167][141]2000:[137]200
  62. 330 [139]A$[178]"P"[167][141]3000:[137]200
  63. 340 [139]A$[178]"A"[167][141]4000:[137]200
  64. 350 [139]A$[178]"C"[167]SB[178]3:[141]8000:[137]200
  65. 360 [139]A$[178]"D"[167]SB[178]4:FM[178]1:[141]8000:[137]200
  66. 370 [139]A$[178]"T"[167][141]7000:[137]200
  67. 380 [139]A$[178]"F"[167][141]600:[137]200
  68. 400 [139]A$[178]"Q"[176]A$[178]"N"[167]500
  69. 410 [137]200
  70. 500 [139]SS[178]1[167]530
  71. 520 [141]2000
  72. 530 [141]12000
  73. 540 [139]A$[178]"N"[167][156]:[137]100
  74. 550 [128]
  75. 600 [143]
  76. 999 [143] LOAD SUBROUTINE VERS.1.........
  77. 1000 [153]"FILENAME";:[133]F$
  78. 1010 [141]5500
  79. 1020 [159]5,8,5,"0:"[170]F$[170]".HDG,S,R"
  80. 1030 [141]5500
  81. 1040 [132]5,NH,NI,MX,LK
  82. 1130 [134]H$(NH),B%(NH[170]1),P%(MX),TT$(NH),I$(MX)
  83. 1140 [129]I[178]0[164]NH:[132]5,H$(I),B%(I):[130]
  84. 1150 [132]5,B%(NH[170]1)
  85. 1160 [139]NI[178][171]1[167]1180
  86. 1170 [129]I[178]0[164]NI:[132]5,P%(I):[130]
  87. 1180 [160]5
  88. 1190 [159]CN,8,CN,F$
  89. 1200 [139]NI[178][171]1[167]1220
  90. 1210 [141]1300
  91. 1220 SS[178]1:[142]
  92. 1230 [153]"FILE NOT FOUND":[141]11000:[137]110
  93. 1299 [143] READ ITEMS UNDER HEADING CH....
  94. 1300 [153]:[129]I[178]0[164]NI
  95. 1310 R[178]P%(I):[141]5600
  96. 1320 [132]CN,I$(I)
  97. 1330 [130]
  98. 1340 [142]
  99. 1499 [143] INITIALIZE SUBROUTINE VERS.1...
  100. 1500 [153]"GIVE YOUR FILEWAIT A NAME";
  101. 1510 [133]F$
  102. 1512 [141]12000
  103. 1520 [133]"HOW MANY HEADINGS ";NH
  104. 1530 [139]NH[179]1[167]1520
  105. 1540 NH[178]NH[171]1:NI[178][171]1:LK[178][171]1
  106. 1560 [134]H$(NH),B%(NH[170]1),TT$(NH):B%(0)[178]0
  107. 1570 [129] I[178]0[164]NH
  108. 1580 [153]"HEADING #";I[170]1;:[133]" : ";H$(I)
  109. 1590 [133]"MAXIMUM LENGTH : ";J
  110. 1600 B%(I[170]1)[178]B%(I)[170]J[170]1
  111. 1610 [130]I
  112. 1615 [159]15,8,15,"I0":[159]CN,8,CN,F$[170]",L,"[170][199](1[170]B%(NH[170]1))
  113. 1620 [153]"WHICH HEADING IS THE LONGEST ON WHICH YOU WILL SORT?"
  114. 1621 [133]J:J[178]J[171]1
  115. 1625 [139]J[179]0[176]J[177]NH[167]1620
  116. 1630 J[178]B%(J[170]1)[171]B%(J)[171]1:MX[178][181](([184](0)[171]2000)[173](J[170]2))
  117. 1640 [134]P%(MX),I$(MX)
  118. 1650 [143]
  119. 1660 SS[178]0:[142]
  120. 1699 [143] READ RECORD I INTO TT$.........
  121. 1700 [153]:R[178]P%(I)
  122. 1710 [143]FORJ1=0TONH
  123. 1720 [143]PRINTREM;R;",B";B%(J1)
  124. 1730 [143]INPUTTT$(J1)
  125. 1740 [143] NEXT
  126. 1750 [141]5400:[142]
  127. 1799 [143] WRITE RECORD R FROM T$.........
  128. 1800 [153]:[143]FORJ1=0TONH
  129. 1810 [143];R;",B";B%(J1)
  130. 1820 [143]PRINTTT$(J1)
  131. 1830 [143]NEXT
  132. 1840 [141]5200:[142]
  133. 1999 [143] WRITE SUBROUTINE VERS.1........
  134. 2000 [153]:[143] ONERR GOTO 2290
  135. 2010 [152]15,"S0:"F$".HDG":[159]5,8,5,"0:"[170]F$[170]".HDG,S,W"
  136. 2020 [141]5500
  137. 2030 [152]5,[196](NH)","[196](NI)","[196](MX)","[196](LK)[199](13);
  138. 2040 [129]I[178]0[164]NH:[152]5,H$(I)","[196](B%(I))[199](13);:[130]
  139. 2050 [152]5,[196](B%(NH[170]1))[199](13);
  140. 2060 [139]NI[178][171]1[167]2270
  141. 2070 [129]I[178]0[164]NI:[152]5,[196](P%(I))[199](13);:[130]
  142. 2270 [160]5
  143. 2280 SS[178]1:[142]
  144. 2290 [153]"DISK ERROR":[141]11000:[137]200
  145. 2999 [143] PRINT SUBROUTINE VERS.4........
  146. 3000 [139]NI[178][171]1[167][141]9000:[142]
  147. 3005 [153]"(S) SELECT FORMAT, OR (D) DEFAULT";:[141]11000:[153]
  148. 3006 [139]A$[178]"S"[167][141]10000:FM[178]2:[137]3010
  149. 3007 [139]A$[179][177]"D"[167]3005
  150. 3008 FM[178]1
  151. 3010 [153]"(S) SCREEN, OR (P) PRINTER";:[141]11000:[153]
  152. 3020 [139]A$[178]"P"[167]SB[178]2:[137]3050
  153. 3030 [139]A$[179][177]"S"[167]3010
  154. 3040 SB[178]1:[153]:[153]"AFTER EACH RECORD ( _ ) WILL RETURN TO"
  155. 3041 [153]"THE MENU, ANY OTHER KEY CONTINUES."
  156. 3050 [153]"(PRESS ANY KEY)":[141]11000:[141]8010
  157. 3100 [142]
  158. 3299 [143] PRINT ONE RECORD...............
  159. 3300 [139]SB[178]2[167][159]4,4:[157]4
  160. 3310 [145]FM[141]3700,3800
  161. 3320 [139]SB[178]2[167][152]4:[160]4:[137]3350
  162. 3340 [139]SB[179][177]4[167][141]11000:[139]A$[178][199](95)[167]RS[178]1
  163. 3350 [142]
  164. 3699 [143]PRINT ONE DEFAULT V.1...........
  165. 3700 [153]:[153]"RECORD ";I[170]1:[153]
  166. 3710 [129]J[178]0[164]NH
  167. 3720 [153]H$(J),TT$(J)
  168. 3730 [130]J
  169. 3740 [142]
  170. 3799 [143] PRINT ONE FORMAT V.1...........
  171. 3800 J[178]1:T[178]0:B$[178]""
  172. 3820 J1[178][197]([202](F$(T),J,2)):J[178]J[170]2
  173. 3830 [139]J1[179]5[167]N[178][197]([202](F$(T),J,3)):J[178]J[170]3
  174. 3840 [145]J1[137]3850,3860,3870,3890,3910,3970
  175. 3850 A$[178]H$(N):[137]3950
  176. 3860 A$[178]TT$(N):[137]3950
  177. 3870 B$[178][200](B$,N[171]1):[139][195](B$)[179]N[171]1[167][129]J2[178][195](B$)[164]N[171]2:B$[178]B$[170]" ":[130]
  178. 3880 [137]3960
  179. 3890 [153]B$:[139]N[177]1[167][129]J2[178]2[164]N:[153]:[130]
  180. 3900 B$[178]"":[137]3960
  181. 3910 [139]J[177][195](F$(T))[167]T[178]T[170]1:J[178]1
  182. 3920 J2[178]J
  183. 3930 [139][202](F$(T),J2,2)[179][177]"!"[167]J2[178]J2[170]2:[137]3930
  184. 3940 A$[178][202](F$(T),J,J2[171]J):J[178]J2[170]2
  185. 3950 B$[178]B$[170]A$
  186. 3960 [139]J[177][195](F$(T))[167]T[178]T[170]1:J[178]1
  187. 3965 [137]3820
  188. 3970 [153]B$:[142]
  189. 3999 [143] ADD SUBROUTINE VERS.2..........
  190. 4000 SS[178]0:NI[178]NI[170]1
  191. 4005 [153]:[153]"RECORD ";NI[170]1:[153]
  192. 4010 [129]J[178]0[164]NH
  193. 4020 [141]4500
  194. 4030 [130]J
  195. 4040 [139]LK[178][171]1[167]R[178]NI:[137]4080
  196. 4050 R[178]LK
  197. 4060 [141]5700
  198. 4070 [132]CN,LK
  199. 4080 [141]1800:P%(NI)[178]R:I$(NI)[178]TT$(CH)
  200. 4090 [142]
  201. 4499 [143] INPUT AN ITEM..................
  202. 4500 T[178]B%(J[170]1)[171]B%(J)[171]1
  203. 4510 [153]H$(J);:[133]" : ";TT$(J)
  204. 4540 [139][195](TT$(J))[177]T[167]TT$(J)[178][200](TT$(J),T)
  205. 4550 [142]
  206. 4999 [143] CHANGE SUBROUTINE VERS.2.......
  207. 5000 [153]:[153]"(C) CHANGE ITEM, (K) KEEP ITEM, OR":[153]"(R) KEEP REMAINDER OF RECORD"
  208. 5030 [153]:[153]"RECORD ";I[170]1
  209. 5040 CS[178]1:RS[178]0:[129]J[178]0[164]NH
  210. 5050 [153]:[153]H$(J);" : ";TT$(J);" ";
  211. 5055 [139]RS[178]1[167][153]:[137]5090
  212. 5060 [141]11000:[139]A$[179][177]"C"[175]A$[179][177]"K"[175]A$[179][177]"R"[167]5060
  213. 5070 [153]A$:[139]A$[178]"K"[167]5090
  214. 5075 [139]A$[178]"R"[167]RS[178]1:[137]5090
  215. 5080 [141]4500
  216. 5085 CS[178]0
  217. 5090 [130]J
  218. 5095 RS[178]0
  219. 5097 [153]"(M) TO CONTINUE SEARCH":[153]"(E) TO END SEARCH":[141]11000
  220. 5098 [139]A$[179][177]"M"[175]A$[179][177]"E"[167]5097
  221. 5099 [139]A$[178]"E"[167]RS[178]1
  222. 5100 [139]CS[178]0[167][141]1800:I$(I)[178]TT$(CH)
  223. 5110 [142]
  224. 5200 [143] ***********************
  225. 5201 [143] * FDD BLOCK WRITE     *
  226. 5202 [143] ***********************
  227. 5210 [141]5330
  228. 5220 K$[178]"P"[170][199](CN)[170][199](R1)[170][199](R2)
  229. 5230 [129]FI[178]0[164]NH
  230. 5235 [152]15,K$[199](1[170]B%(FI))
  231. 5240 [152]CN,TT$(FI);[200](X$,B%(FI[170]1)[171]B%(FI)[171][195](TT$(FI))[171]1);[199](13);:[130]
  232. 5250 [141]5270
  233. 5260 [142]
  234. 5270 [143] ***********************
  235. 5275 [143] *  ERROR CHECK        *
  236. 5278 [143] ***********************
  237. 5280 [132]15,EN,EM$,ET,ES
  238. 5290 [139]EN[179]20[167][142]
  239. 5300 [139]EN[179][177]50[167][153]"ERROR STATUS:";EN;EM$;ET;ES
  240. 5310 [139]EN[179][177]50[167][141]12000:[128]
  241. 5320 [142]
  242. 5322 [143] ***************************
  243. 5324 [143] * SET HIGH & LOW RECORD # *
  244. 5326 [143] ***************************
  245. 5330 R1[178]R[170]1
  246. 5340 R2[178]0
  247. 5350 [139]R1[177]255[167]R2[178][181](R1[173]256):R1[178]R1[171]256[172]R2
  248. 5390 [142]
  249. 5400 [143] ***********************
  250. 5405 [143] * FDD BLOCK READ      *
  251. 5408 [143] ***********************
  252. 5410 [141]5330
  253. 5420 K$[178]"P"[170][199](CN)[170][199](R1)[170][199](R2)
  254. 5430 [141]5270
  255. 5440 [129]FI[178]0[164]NH
  256. 5450 [152]15,K$[199](1[170]B%(FI))
  257. 5460 [151]781,CN:[158]896:TT$(FI)[178][200](V$,[194](142))
  258. 5480 [130]
  259. 5490 [142]
  260. 5500 [143] ***********************
  261. 5510 [143] *  ERROR CHECK        *
  262. 5520 [143] ***********************
  263. 5530 [132]15,EN,EM$,ET,ES
  264. 5540 [139]EN[178]0[167][142]
  265. 5550 [153]"ERROR STATUS:";EN;EM$;ET;ES
  266. 5560 [141]12000:[128]
  267. 5600 [143] **************************
  268. 5605 [143] * FDD BLOCK READ 1 FIELD *
  269. 5608 [143] **************************
  270. 5610 [141]5330
  271. 5620 [152]15,"P"[199](CN)[199](R1)[199](R2)[199](1[170]B%(CH))
  272. 5640 [141]5270
  273. 5690 [142]
  274. 5700 [143] ****************************
  275. 5705 [143] * FDD BLOCK READ 1ST FIELD *
  276. 5708 [143] ****************************
  277. 5710 [141]5330
  278. 5720 [152]15,"P"[199](CN)[199](R1)[199](R2)[199](1)
  279. 5740 [141]5270
  280. 5790 [142]
  281. 5800 [143] *****************************
  282. 5801 [143] * FDD BLOCK WRITE 1ST FIELD *
  283. 5802 [143] *****************************
  284. 5810 [141]5330
  285. 5820 [152]15,"P"[199](CN)[199](R1)[199](R2)[199](1)
  286. 5830 [152]CN,[196](LK);[199](13);
  287. 5850 [141]5270
  288. 5860 [142]
  289. 5999 [143] DELETE SUBROUTINE VERS.2.......
  290. 6000 [153]:[153]"DELETE THIS RECORD? ";
  291. 6070 [141]11000:[139]A$[179][177]"Y"[175]A$[179][177]"N"[167]6070
  292. 6080 [153]A$:[139]A$[178]"N"[167]6150
  293. 6090 R[178]P%(I)
  294. 6100 [141]5800
  295. 6110 LK[178]P%(I)
  296. 6120 [129]I1[178]I[170]1[164]NI
  297. 6130 I$(I1[171]1)[178]I$(I1):P%(I1[171]1)[178]P%(I1)
  298. 6135 [130]I1
  299. 6140 NI[178]NI[171]1:SS[178]0:I[178]I[171]1
  300. 6150 [142]
  301. 6999 [143]SORT SUBROUTINE V.1.............
  302. 7000 [139]NI[178][171]1[167][141]9000:[142]
  303. 7010 [153]:[129]J[178]0[164]NH
  304. 7020 [153]"(";J[170]1;") ";H$(J)
  305. 7030 [130]J
  306. 7040 [133]"SORT ON WHICH HEADING";J1
  307. 7045 J1[178]J1[171]1
  308. 7050 [139]J1[179]0[176]J1[177]NH[167][142]
  309. 7055 [139]J1[179][177]CH[167]CH[178]J1:[141]1300
  310. 7060 [153]"[(A) ASCENDING, OR (D) DESCENDING?":[141]11000
  311. 7070 [139]A$[178]"A"[167]A[178]1:[137]7100
  312. 7080 [139]A$[178]"D"[167]A[178]2:[137]7100
  313. 7090 [137]7060
  314. 7100 [129]I[178]0[164]NI[171]1
  315. 7110 T[178]I
  316. 7120 [129]I1[178]T[170]1[164]NI
  317. 7122 [153]I;"  ";I1
  318. 7125 [145]A[137]7130,7140
  319. 7130 [139]I$(I1)[179]I$(T)[167]T[178]I1
  320. 7135 [137]7145
  321. 7140 [139]I$(I1)[177]I$(T)[167]T[178]I1
  322. 7145 [130]I1
  323. 7150 [139]T[178]I[167]7180
  324. 7160 T$[178]I$(T):I$(T)[178]I$(I):I$(I)[178]T$
  325. 7170 J1[178]P%(T):P%(T)[178]P%(I):P%(I)[178]J1
  326. 7180 [130]I
  327. 7200 SS[178]0:[142]
  328. 7999 [143] SEARCH SUBROUTINE VERS.2.......
  329. 8000 [139]N1[178][171]1[167][141]9000:[142]
  330. 8010 I1[178]0:I2[178]NI:J[178]0:C1%(0)[178][171]1:BS[178]1
  331. 8015 [153]"LOAD":[153]"SEARCH CRITERIA:":[153]
  332. 8020 [153]" 0 ) RECORD NUMBER"
  333. 8030 [129]I[178]0[164]NH:[153]I[170]1;") ";H$(I):[130]I
  334. 8035 [153]:[153]NH[170]2;") BEGIN"
  335. 8040 [141]11200:[153]"":[133]"SELECT : ";I:[139]I[179]0[176]I[177]NH[170]2[167]8040
  336. 8045 [139]I[178]NH[170]2[167]C1%(J)[178][171]1:[137]8150
  337. 8050 C1%(J)[178]I[171]1
  338. 8060 [141]11200:[153]"":[153]"(1) SMALLER (2) EQUAL (3) LARGER  ":[141]11000
  339. 8065 [139]A$[179]"1"[176]A$[177]"3"[167]8060
  340. 8070 C2%(J)[178][197](A$)
  341. 8080 [141]11200:[153]"(null)OST SEARCHES REQUIRE A 'WILD CARD' * AFTER THE STRING."
  342. 8085 [153]"":[153]"COMPARED TO : ";:[139]C1%(J)[178][171]1[167]8100
  343. 8090 [133]" ";C$(J):[139]C2%(J)[179][177]2[137]8094
  344. 8091 [153]"SEARCH BY E) ENTRY (FAST)":[153][163]11);"S) STRING (SLOW)"
  345. 8092 [161]C3$(J):[139]C3$(J)[178]""[167]8092
  346. 8093 [139]C3$(J)[179][177]"E"[175]C3$(J)[179][177]"S"[167]8091
  347. 8094 J[178]J[170]1:[139]J[177]7[167]8160
  348. 8095 [137]8015
  349. 8100 [133]" ";I:[139]I[179]1[176]I[177]NI[170]1[167]8100
  350. 8105 I[178]I[171]1
  351. 8110 [139]C2%(J)[178]1[167]I2[178]I
  352. 8120 [139]C2%(J)[178]2[167]I1[178]I:I2[178]I
  353. 8130 [139]C2%(J)[178]3[167]I1[178]I
  354. 8140 [137]8015
  355. 8150 [139]J[179]2[167]8200
  356. 8160 [141]11200:[153]"":[153]"1) ITEM MUST MEET ALL CONDITIONS"
  357. 8165 [153]"2) ITEM MAY MEET ANY CONDITION":[161]A$:[139]A$[179]"1"[176]A$[177]"2"[167]8160
  358. 8170 BS[178][197](A$)
  359. 8200 RS[178]0:J1[178]C1%(0)
  360. 8210 DS[178]0:[129]J[178]0[164]7
  361. 8220 [139]C1%(J)[178][171]1[167]J[178]7:[137]8240
  362. 8230 [139]J1[179][177]C1%(J)[167]J1[178][171]2
  363. 8240 [130]
  364. 8245 [139]J1[177][171]1[175]J1[179][177]CH[167]CH[178]J1:[141]1300
  365. 8246 [139]J1[178][171]2[167]DS[178]1
  366. 8250 I[178]I1[171]1:[129]I3[178]I1[164]I2:I[178]I[170]1
  367. 8251 [139]DS[178]0[167]TT$(CH)[178]I$(I):[137]8255
  368. 8252 [141]1700
  369. 8255 AS[178]0:[129]J[178]0[164]7
  370. 8260 [139]C1%(J)[178][171]1[167]J[178]7:[137]8345
  371. 8270 [145]C2%(J)[137]8280,8290,8310
  372. 8280 [139]TT$(C1%(J))[179][178]C$(J)[167]8330
  373. 8285 [137]8340
  374. 8290 [139]TT$(C1%(J))[178]C$(J)[167]8330
  375. 8292 [139]C3$(J)[178]"S"[167]8306
  376. 8295 [139][201](C$(J),1)[179][177]"*"[167]8340
  377. 8298 T[178][195](C$(J))[171]1:[139][195](TT$(C1%(J)))[179]T[167]8340
  378. 8302 [139][200](TT$(C1%(J)),T)[178][200](C$(J),T)[167]8330
  379. 8305 [137]8340
  380. 8306 L1[178][195](TT$(C1%(J))):L2[178][195](C$(J))
  381. 8307 [129]J5[178]1[164](L1[171]L2[170]1):[139][202](TT$(C1%(J)),J5,L2)[178]C$(J)THEM8330
  382. 8308 [130]
  383. 8309 [137]8340
  384. 8310 [139]TT$(C1%(J))[177][178]C$(J)[167]8330
  385. 8320 [137]8340
  386. 8330 [139]BS[178]2[167]AS[178]1:J[178]7
  387. 8335 [137]8345
  388. 8340 [139]BS[178]1[167]AS[178]2:J[178]7
  389. 8345 [130]J
  390. 8350 [139]AS[178]0[175]BS[178]1[167]8355
  391. 8352 [139]AS[179][177]1[167]8380
  392. 8355 [139]DS[178]0[167][141]1700
  393. 8360 [139]SB[179][177]3[167][141]3300
  394. 8365 [139]SB[178]3[167][141]5000
  395. 8370 [139]SB[178]4[167][141]6000
  396. 8375 [139]RS[178]1[167]I3[178]I2
  397. 8380 [130]I3
  398. 8390 [153]:[153]"THAT'S ALL":[141]11000:[153]
  399. 8400 [142]
  400. 8999 [143] ERROR SUBROUTINE #1............
  401. 9000 [153]"THERE'S NO DATA IN MEMORY."
  402. 9010 [129]I[178]1[164]1000:[142]
  403. 9999 [143] PRINT FORMATTING VERS.1........
  404. 10000 [139]F$(0)[178]""[167]10040
  405. 10010 [153]"SAME FORMAT?";:[141]11000:[153]
  406. 10020 [139]A$[178]"Y"[167][142]
  407. 10030 [139]A$[179][177]"N"[167]10010
  408. 10040 [153]"(L) LOAD FORMAT, OR (C) CREATE FORMAT";:[141]11000:[153]
  409. 10050 [139]A$[178]"C"[167]10200
  410. 10060 [139]A$[179][177]"L"[167]10040
  411. 10090 [143]
  412. 10100 [133]"FORMAT NAME:";A$
  413. 10110 [141]5500
  414. 10120 [159]6,8,6,"0:"[170]A$[170]".FMT,S,R"
  415. 10130 [141]5500
  416. 10140 [132]6,NF
  417. 10150 [129]J[178]0[164]NF:[151]781,6:[158]896:F$(J)[178]V$:[130]
  418. 10155 [160]6
  419. 10160 [142]
  420. 10170 [153]"FORMAT NOT FOUND":[141]11000:[137]200
  421. 10200 NF[178]0:J[178]0:F$(0)[178]""
  422. 10210 [153]"LOAD":[153]"START IN THE UPPER LEFT CORNER AND WORK ACROSS EACH LINE."
  423. 10220 [153]"1:HEADING, 2:ITEM, 3:TAB, 4:NEXT LINE, 5:STRING, 6:END":[133]J1
  424. 10230 [139]J1[179]1[176]J1[177]6[167]10220
  425. 10240 F$(NF)[178]F$(NF)[170][196](J1):J[178]J[170]2
  426. 10250 [145]J1[137]10260,10260,10300,10300,10350,10400
  427. 10260 [129]T[178]0[164]NH:[153]T[170]1;") ";H$(T):[130]
  428. 10270 [133]"WHICH";T:T[178]T[171]1:[139]T[179]0[176]T[177]NH[167]10270
  429. 10280 [137]10310
  430. 10300 [133]"HOW MANY";T:[139]T[179]1[176]T[177]99[167][153]"OUT OF RANGE.":[137]10300
  431. 10310 A$[178][196](T):[139]T[179]10[167]A$[178]" "[170]A$
  432. 10320 F$(NF)[178]F$(NF)[170]A$:J[178]J[170]3
  433. 10330 [137]10380
  434. 10350 [133]"STRING:";A$:A$[178]A$[170]"!"
  435. 10360 [139][195](A$)[170]J[177]255[167]NF[178]NF[170]1:J[178]0:F$(NF)[178]""
  436. 10370 F$(NF)[178]F$(NF)[170]A$:J[178]J[170][195](A$)
  437. 10380 [139]J[177]252[167]NF[178]NF[170]1:J[178]0:F$(NF)[178]""
  438. 10390 [137]10220
  439. 10400 [133]"FORMAT NAME:";A$
  440. 10405 [141]5500
  441. 10410 [159]6,8,6,"@0:"[170]A$[170]".FMT,S,W"
  442. 10420 [141]5500
  443. 10430 [152]6,[196](NF)[199](13);:[129]J[178]0[164]NF:[152]6,F$(J)[199](13);:[130]
  444. 10440 [141]5500:[160]6
  445. 10450 [142]
  446. 10460 [143]PRINT"DISC ERROR":GOSUB11000:GOSUB10400
  447. 11000 [161]A$:[139]A$[178]""[167]11000
  448. 11010 [142]
  449. 11100 [133]F$
  450. 11110 [142]
  451. 11200 [153]"":[142]
  452. 12000 [160]5:[160]6:[160]CN:[160]15:[142]
  453. 63990 [159]1,8,15:[152]1,"S0:DBASE":[160]1
  454. 63995 [148]"DBASE",8:[149]"*",8
  455.